// appApi/donations.js
// 捐款相关API接口

import request from './request.js'

/**
 * 获取我的捐款记录列表
 * @param {Object} params 查询参数
 * @param {string} params.status 捐款状态 (all|completed|processing|cancelled)
 * @param {number} params.pageNum 页码
 * @param {number} params.pageSize 每页数量
 */
export function getMyDonationsList(params = {}) {
  return request.get('/my-donations/list', params)
}

/**
 * 获取捐款统计信息
 */
export function getDonationStatistics() {
  return request.get('/my-donations/statistics')
}

/**
 * 获取捐款记录详情
 * @param {number} donationId 捐款记录ID
 */
export function getDonationDetail(donationId) {
  return request.get('/my-donations/detail', { donationId })
}

/**
 * 创建新的捐款记录
 * @param {Object} donationData 捐款数据
 * @param {string} donationData.activityName 项目名称
 * @param {number} donationData.amount 捐款金额
 * @param {string} donationData.paymentMethod 支付方式
 * @param {string} donationData.donationMessage 捐款寄语
 * @param {boolean} donationData.isAnonymous 是否匿名
 */
export function createDonation(donationData) {
  return request.post('/donations', donationData)
}

/**
 * 取消捐款
 * @param {number} donationId 捐款记录ID
 */
export function cancelDonation(donationId) {
  return request.put(`/donations/${donationId}/cancel`)
}

// 导出默认对象，包含所有API方法
export default {
  getMyDonationsList,
  getDonationStatistics,
  getDonationDetail,
  createDonation,
  cancelDonation
}
